#ifndef GLOBALS_H
#define GLOBALS_H

#include "Winampin.h"


#ifdef GLOBALS
#define GL_EXT
#else
#define GL_EXT extern
#endif

//For Skin
GL_EXT SkinMenu stskm[NO_OF_SKINMENU];

//All Interfaces
GL_EXT Graph stGr;
//Skin
GL_EXT Skin stSk;
//Plugin Status
GL_EXT Info stInfo;
//Audio Eff Implementation
GL_EXT Audio stAmod;
//For External Effect Plugin
GL_EXT SkinMenu stExteff[NO_OF_EXTEFF];


// Defined in the filguid.cpp file
//Start
//VideoEffect
extern GUID CLSID_DefaultVideoEffectFilter;
extern GUID CLSID_FilterPropertyPage;
extern GUID IID_DefaultVideoEffectInterface;
extern GUID CLSID_FFDShowVideoEffect;
//AudioEffect
extern GUID CLSID_DefaultAudioEffectFilter;
extern GUID IID_DefaultAudioeffect;
extern GUID CLSID_MatrixMixer;
extern GUID CLSID_InterAudioEffect;
extern GUID CLSID_DCDSPAudioEffect;
//Video Render
extern GUID CLSID_AdvVideoRenderer;
//Add on Pack
//ffDShow
extern GUID CLSID_FFDShowAudioDecoder;
extern GUID CLSID_FFDShowVideoDecoder;
//GPL MPEG1/2
extern GUID CLSID_GPLMPEG12Decoder;
extern GUID CLSID_AC3AudioDecoder;
//Ligos
extern GUID CLSID_LigosMPEGVideoDecoder;
extern GUID CLSID_LigosMPEGAudioDecoder;
//Nero
extern GUID CLSID_NeroVideoDecoder;
extern GUID CLSID_NeroAudioDecoder;
//Inter Video
extern GUID CLSID_InterVideoDecoder;
extern GUID CLSID_InterAudioDecoder;
//Fraunhofer
extern GUID CLSID_FraunhoferVideoDecoder;
extern GUID CLSID_FraunhoferAudioDecoder;
//End

#ifdef GLOBALS

char PopupMenuTitle[MAX_SUB_EFF_MENU][20]={"ExternalEff","Pixel","Arts","Vintage","Gray","Convolution A","Convolution B","Convolution C","Displacement A","Displacement B","Displacement C","Displacement D"};
char RenderTypes[TOT_NO_OF_RENDER_TYPES][20]={"Default","VMR","VMR Mixing","AdvRender"};
char DecodeTypes[TOT_NO_OF_DECODE_TYPES][20]={"Default","ffDShow","GPL Mpeg1/2,AC3","Ligos","Nero","Fraunhofer","Inter Video"};
char AudioEffectTypes[TOT_NO_OF_AUDIOEFFECT_TYPES][20]={"Default","ffDShow","Matrix Mixer","Inter Audio","DC-DSP"};
char VideoEffectTypes[TOT_NO_OF_VIDEOEFFECT_TYPES][20]={"Default","ffDShow"};

#else

extern char PopupMenuTitle[MAX_SUB_EFF_MENU][20];
extern char RenderTypes[TOT_NO_OF_RENDER_TYPES][20];
extern char DecodeTypes[TOT_NO_OF_DECODE_TYPES][20];
extern char AudioEffectTypes[TOT_NO_OF_AUDIOEFFECT_TYPES][20];
extern char VideoEffectTypes[TOT_NO_OF_VIDEOEFFECT_TYPES][20];
//Input Module Information it is originaly defined in Winampin.cpp
extern In_Module stMod;

#endif



#endif